package io.renren.service;

import com.baomidou.mybatisplus.service.IService;
import io.renren.bean.ExercisesQuestionInfo;
import io.renren.entity.QuestionErrorEntity;
import org.apache.ibatis.annotations.Param;

/**
 * 错题目记录表
 *
 * @author LANLING
 * @email lanling@gmail.com
 * @date 2018-10-25 14:20:38
 */
public interface QuestionErrorService extends IService<QuestionErrorEntity> {



    /***
     * 获取错题题目
     * @param studentId 学员id
     * @param subjectId 科目id
     * @param errorQuestionNumber 错题总数
     * @param sort 序号
     * @param type 针对错题练习 1为错题题目练习 2为收藏题目练习(错题练习一定要传type)
     * @return
     */
    ExercisesQuestionInfo getErrorQuestion(@Param("studentId") Long studentId, @Param("subjectId") Integer subjectId, Integer errorQuestionNumber, @Param("sort") Integer sort, @Param("type") Integer type);


    /***
     * 获取错题/收藏题目的数量
     * @param subjectId 科目id
     * @param studentId 学员id
     * @param type  针对错题练习 1为错题题目练习 2为收藏题目练习(错题练习一定要传type)
     * @return
     */
    Integer getQuetionNumber(@Param("subjectId") Integer subjectId, @Param("studentId") Long studentId, @Param("type") Integer type);

    /***
     * 查询出错题实体类
     * @param studentId 学员id
     * @param questionId 问题id
     * @return
     */
    QuestionErrorEntity selectQuestionError(Long studentId, Integer questionId);

    /***
     * 错题入库
     * @param studentId 学员id
     * @param questionId 题目id
     */
    void errorQuestionStorage(Long studentId, Integer questionId);



    /***
     * 查询出是否添加成功
     * @param studentId 学生id
     * @param questionId 问题id
     * @return
     */
    public Integer insertErrorQuestion(Long studentId, Integer questionId);

    /***
     * 清空收藏题目
     * @param studentId 学员id
     * @param subjectId 科目id
     * @return R
     */
    void resetCollectionQuestion(@Param("studentId") Long studentId, @Param("subjectId") Integer subjectId);
}

